<?php

class fwork {
	/**
	 * @var Platzhalter für den Pfad zum Frameworkverzeichnis von der Bootstrap-File aus
	 */
	protected $fworkPath;
	
	/**
	 * @var Array mit allen Pfaden zu den einzelnen Modulen des Frameworks
	 */
	protected $modules = array(
		'template' => 'template/template_2.0.0.class.php',
		'modul' => 'modul/modul_v2.0.0.class.php',
		'palo' => 'palo/LN_Palo_v1.0.3.class.php',
		'cache' => 'cache/cache_v1.0.0.class.php',
		'helpFunctions' => 'base/helpFunctions.php'
	);
	
	public function __construct($fworkpath, $err=false) {
		if(substr($fworkpath, -1, 1) != '/') {
			$fworkpath.='/';
		}				
		$this->fworkPath = $fworkpath;
		
		if($err) {
			$this->errReport = true;
		}
	}
	
	/**
	 * Lädt ein Modul anhand der Modulbezeichnung
	 * @param object $modul Modulbezeichnung
	 * @return true
	 */
	public function load($modul) {
		if(isset($this->modules[$modul])) {
			require_once($this->fworkPath.$this->modules[$modul]);
			return true;
		}
		return false;
	}
	
	/**
	 * Lädt alle Module aus der Modulliste
	 * @return true wenn alle Module geladen wurden
	 */
	public function autoload() {
		foreach($this->modules as $name => $path) {
			require_once($this->fworkPath.$path);
			return true;
		}
		return false;
	}
}
